<?php
# Отображение только серьёзных ошибок
error_reporting(E_ERROR);

# Ядро
include_once('core/index.php');

# Дебаг
include_once('core/debug.php');

# Функция вызывается при отсутствии контента по заданному пути и должна вернуть адрес по которому находится контент
function  content_missing($path) {
	# подключаем генерацию оъекта
	if (strstr($path, '/admin/modules/')) return 'engine/build/index.php';
	# или возвращаем ошибку
	return 'engine/404.php';
}

# Контроллер
loadclass('cmsview');
$view = new cmsview();

# Получение объекта для работы с базой данных ($db)
include_once engine.'/dbconn.php';

# Безопасность для админки
if (strstr(path,'/admin') && path!='/admin/auth.php') {
	include_once('../engine/classes/auth.class.php');
	$auth = new auth();
	$auth->setPrefix('cms');
	$auth -> addArray($config['users']);
	if (!$auth->check()) $view->Redirect('admin/auth.php');
}

# Получение остальных объектов из _class
include_once engine.'/_class.php'; 

# Получение контента
$view->setContent(path);

# Отключение шаблона при загрузке через AJAX
if (ajax) $view->setTemplate(null); 

# Шаблонизация
$view->Render();
?>